package br.ufmt.bean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.ufmt.baseDeDados.Atores;
import br.ufmt.exception.AtorException;
import br.ufmt.model.Ator;

@ManagedBean
@SessionScoped
public class AtorBean {

	private String nome;
	private static List<Ator> atores = Atores.getAtores();
	

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List<Ator> getAtores() {
		return atores;
	}

	public void setAtores(List<Ator> atores) {
		AtorBean.atores = atores;
	}

	public void salvar() {
		Ator ator = new Ator();
		try {
			ator.setNome(nome);
			FacesMessage msg = new FacesMessage("Ator Salvo com Sucesso!");
			FacesContext.getCurrentInstance().addMessage("form", msg);
			atores.add(ator);
			this.setNome("");
		} catch (AtorException e) {
			FacesMessage msg = new FacesMessage(e.getMessage());
			FacesContext.getCurrentInstance().addMessage("form", msg);
		}

	}

	public void excluir() {
		String id = (String) FacesContext.getCurrentInstance()
				.getExternalContext().getRequestParameterMap().get("id");
		Ator ator = AtorBean.getAtorPorId(id);
		atores.remove(ator);

	}

	private static Ator getAtorPorId(String id) {
		
		for (Ator ator : AtorBean.atores) {
			if(ator.getId().equals(id))
			{
				return ator;
			}
		}
		return null;
	}

}
